#pragma once
#include"rbtree.h"

template<class K>
class Set
{
	struct SetKeyOfT
	{
		const K& operator()(const K& d) { return d; }
	};
public:
	typedef typename RBtree<K,K,SetKeyOfT>::Iterator iterator;
	iterator begin() { return _rbtree.Begin(); }
	iterator end() { return _rbtree.End(); }
	pair<iterator, bool>insert(const K& data) { return _rbtree.Insert(data); }
	iterator find(const K& data) { return _rbtree.Find(data); }
private:
	RBtree<K, K, SetKeyOfT>_rbtree;
};